package com.ysx.oa.user.dao;

import com.ysx.oa.role.bean.RoleBean;
import com.ysx.oa.role.bean.UserRoleBean;
import com.ysx.oa.user.bean.UserBean;
import com.ysx.oa.user.dto.UserDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper;

import java.util.List;

/**
 * @Author: 周海燕
 * @Date: 2021/11/21 16:19
 */
@Mapper
public interface UserDao extends BaseMapper<UserBean> {

    /**
     * 方法描述:查找用户表中以jobNum以DG开头的员工
     *
     * @author: 周海燕
     * @date: 2021/11/23 0:41 [userBean] java.lang.String
     */
    List<UserBean> findJobNumByUserBean();


    /**
     * 方法描述:查找未分配班级的老师或学生列表
     *
     * @author: 周海燕
     * @date: 2021/11/24 13:51 [roleBean] java.util.List<com.ysx.oa.role.bean.RoleBean>    学生角色：20020    老师角色：20030
     */
    List<UserBean> findStudentOrTeacherByNotClass(@Param("roleBean") RoleBean roleBean);

    /**
     * 方法描述:通过用户id查找角色id
     *
     * @author: 周海燕
     * @date: 2021/11/24 14:17 [userId]
     */
    UserBean findRoleIdByUserId(@Param("userId") Integer userId);


    /**
     * 方法描述:通过userId查找user
     *
     * @author: 周海燕
     * @date: 2021/11/24 22:19 [userId]
     */
    UserBean findUserByUserId(@Param("userId") Integer userId);


    /**
     * 方法描述:根据添加角色时间字段排序(升序)
     *
     * @author: 周海燕
     * @date: 2021/11/25 23:44 [] java.util.List<com.ysx.oa.user.bean.UserBean>
     */
    List<UserBean> findAllUserOrderByLastUpdateTime();


    /**
     * 方法描述:根据phone查找userId
     *
     * @author: 周海燕
     * @date: 2021/11/26 19:21 [userBean] com.ysx.oa.user.bean.UserBean
     */
    Integer findUserIdByUserBean(UserBean userBean);





}

